package group.cs.purdue.edu;

import global.sgb.cs.purdue.edu.Tuple;

import java.util.ArrayList;

public interface Groups {


	/**
	 * @param t
	 * @param Fileds
	 * @return find the intersection between the tuple with the possible groups
	 */
	public ArrayList intersection(Tuple t, int []Fileds);
	
	/**
	 * @param g
	 * add one group into the index for the groups 
	 */
	public void addgroup(Group g);
	
	/**
	 * @param g
	 * delete one group from the index
	 */
	public void deletegroup(Group g);
	
	/**
	 * 
	 * @param gindex
	 * @param g
	 * @param t
	 */
	public void deletefromgroup(int gindex, Group g, Tuple t);
	public void addTupleTogroup(int gindex, Group g, Tuple t);
	
	/**
	 * @output the groups
	 */
	public void outputgroups();
	
	public void setEPS(double eps);
	
	public int getCount();
	
	public void incrementCount();
	
	public void setDistanceMetric(int s);
	
	public int getDistanceMetric();

}
